﻿/************************************************************************
** 文  件：
**	DeviceService.h
** 功  能：
**	系统设备服务，提供设备的增删改查服务
** 作  者：
**	email:lixx2048@163.com
**  wechat:lixiang6153
**  QQ:941415509
** 日  期：
**	2024/03/15	14:00:00
** 说  明：
**	无
** 版  本：
**	2024/03/15	14:00:00		1.0		lixx2048@163.com
/************************************************************************/
#pragma once
#include "BaseService.h"
#include "../db/IDbBase.h"
#include "../entity/DeviceInfo.h"


class DeviceService
	: public IBaseService<DeviceInfo>
{
public:
	DeviceService();
	virtual ~DeviceService();

public:
	// 表是否存在
	bool Exist();
	// 创建表
	bool Create();
	// 增加记录
	bool Add(DeviceInfo& itme);
	// 删除记录
	bool Delete(DeviceInfo& item, bool delFromDB = true);
	// 查询数量
	int Count();
	int Count(std::string id, std::string enabled);
	// 查找记录
	bool FindPage(int pageIndex, int pageSize, std::vector<DeviceInfo>& list);
	bool FindPage(int pageIndex, int pageSize, std::string id, std::string enabled, std::vector<DeviceInfo>& list);
	// 查找记录
	bool Find(DeviceInfo& item);
	// 更新记录
	bool Update(DeviceInfo& item);
	// 更新图片
	bool UpdateImage(DeviceInfo& item);
	// 更新参数
	bool UpdateParam(DeviceInfo& item);

protected:
	// 行记录转实体记录
	void ToRecord(IDbBasePtr db, DeviceInfo& item);
};

typedef std::shared_ptr<DeviceService> DeviceServicePtr;